QÅFI/O Kit ÇégǡǃǢÇÈÇΔÇ´ÅADZÇÃñcëÂÇ»ó ÇÃÉGÉâÅ[ÉRÅ[ÉhÇÃà”ñ°ÇímÇÈÇ…ÇÕǫǧǵÇΩÇÁÇÊÇ¢ÇÃÇ≈ǵÇÂǧǩÅB AÅFI/O Kit ÇÕÅAMach
ÉJÅ[ÉlÉãÇ™égǧÉGÉâÅ[ÉRÅ[ÉhëÃånÇΔìØÇ∂LJÇÃÇégǢNjÇ∑ÅBI/O Kit ÉGÉâÅ[ÇÃí∑Ç≥ÇÕ 32 ÉrÉbÉgÇ≈ÅAå`éÆÇÕÉäÉXÉg 1Åimach/error.h ÇÊÇËÅjÇ…é¶Ç∑ÇΔÇ®ÇËÇ≈Ç∑ÅB
è„à â∫à
| system(6) | subsystem(12) | code(14) |
| ÉäÉXÉg 1 ÉGÉâÅ[î‘çÜÇÃå`éÆ |
è„à 6 ÉrÉbÉgÇÕÉVÉXÉeÉÄÇÃílÅAéüÇà 12 ÉrÉbÉgÇÕÉTÉuÉVÉXÉeÉÄÇÃílÅAâ∫à 14 ÉrÉbÉgÇÕÉGÉâÅ[ÉRÅ[ÉhÇ≈Ç∑ÅB ÉGÉâÅ[ÉRÅ[ÉhÇ…ä÷Ç∑ÇÈèÓïÒÇíTÇ∑ç≈èâÇÃèÍèäÇÕ IOKit/IOReturn.h Ç≈Ç∑ÅBDZDZDžÇÕÅAì¡íËÇÃÉtÉ@É~ÉäÇ…å¿íËÇ≥ÇÍǻǢÅAÇ∑Ç◊ǃÇÃàÍî ìIÇ» I/O Kit ÉGÉâÅ[ÇÃÉäÉXÉgǙdžÇËÇ‹Ç∑ÅBÇ≈ÇÕÅAãÔëÃìIÇ»ó·Çå©ÇƒÇ¢Ç´Ç‹ÇµÇÂǧÅB IOReturn.h DždžÇÈèÓïÒÇégǶnjÅA16 êiêîÇ≈ÇÕ 0xE00002C2 ÇΔÇ»ÇÈÅA-536870206 ÇΔǢǧ I/O Kit ÉGÉâÅ[ÇÕÅAéüÇÃÇÊǧDžëŒâûïtÇØÇÁÇÍÇÈDZÇΔÇ™ÇÌÇ©ÇËÇ‹Ç∑ÅB
system | = 0x38 |
CODE>sys_iokit ÉGÉâÅ[ÇΔìØÇ∂Ç≈Ç∑ÅB | subSystem |
= 0x0 | ǵÇΩǙǡǃ sub_iokit_common ÉGÉâÅ[Ç≈džÇÈDZÇΔÇ™ÇÌÇ©ÇËÇ‹Ç∑ÅB | code |
= 0x2C2 | ǬNjÇËÅADZÇÍÇÕ kIOReturnBadArgument ÉGÉâÅ[Ç≈Ç∑ÅB | I/O Kit ÉGÉâÅ[ÉRÅ[ÉhÇ©ÇÁDZÇÍÇÁ 3 ǬÇÃílÇéÊÇËèoÇ∑ï÷óòÇ»É}ÉNÉçǙdžÇËÇ‹Ç∑ÅBDZÇÍÇÁÇÉäÉXÉg 2Åimach/error.h ÇÊÇËÅjÇ…é¶ÇµÇ‹Ç∑ÅB
#define err_get_system(err) (((err)>>26)&0x3f)
#define err_get_sub(err) (((err)>>14)&0xfff)
#define err_get_code(err) ((err)&0x3fff)
|
ÉäÉXÉg 2 I/O Kit ÉGÉâÅ[èÓïÒÇéÊÇËèoÇ∑É}ÉNÉç |
Ç‹ÇΩÅAI/O Kit Ç©ÇÁÉVÉXÉeÉÄÇÃílÇ™ sys_mach_ipc Åi0x4ÅAmach/error.h Ç≈íËã`ÅjÇ≈džÇÈÉGÉâÅ[ÉRÅ[ÉhÇ™ï‘ǡǃÇ≠ÇÈDZÇΔǙdžÇËÇ‹Ç∑ÅBDZÇÍÇÁÇÃíÜÇ≈ç≈LJàÍî ìIÇ»ÇÃÇÕ 268435459Åi16 êiêîÇ≈ÇÕ 0x10000003ÅjÇ≈džÇËÅADZÇÍÇÕÅAKernel.framework ÉwÉbÉ_ÅAmach/message.h ÇÃíÜÇ≈íËã`Ç≥ÇÍǃǢÇÈ MACH_SEND_INVALID_DEST ÉGÉâÅ[Ç≈Ç∑ÅBÇ»Ç∫ Mach ÇÃÉGÉâÅ[ÉRÅ[ÉhÇéÛÇØéÊÇÈÇ©ÇÕÅAI/O Kit Ç™ÉÜÅ[ÉUãÛä‘ÇΔÉJÅ[ÉlÉãÇÃÇ‚ÇËéÊÇËÇ… Mach ÉÅÉbÉZÅ[ÉWÇégǧDZÇΔÇ™ÇÌÇ©ÇÍÇŒóùâÇ≈Ç´ÇÈÇ≈ǵÇÂǧÅBIOServiceCreatePlugInInterfaceForService ǻǫÇÃåƒÇ—èoǵDžìnÇ≥ÇÍÇÈ io_service_t å^ÇÕÅAIOTypes.h ÇΔǢǧ IOKit.framework ÉwÉbÉ_Ç≈ÇÕ mach_port_t ÇΔǵǃíËã`Ç≥ÇÍǃǢNjÇ∑ÅBǵÇΩǙǡǃÅADZÇÃèÍçáÇà MACH_SEND_INVALID_DEST ÉGÉâÅ[ÇÕÅAio_service_t Ç™ñ≥å¯Ç≈džÇÈDZÇΔÇé¶ÇµÇ‹Ç∑ÅBǬNjÇËÅAio_service_t Ç™èâä˙âªÇ≥ÇÍǃǢǻǢǩÅAÇ∑Ç≈Ç…âï˙Ç≥ÇÍǃǢÇÈDZÇΔÇà”ñ°ÇµÇ‹Ç∑ÅB Ç‹ÇΩÅAäe I/O Kit ÉtÉ@É~ÉäÇÕÅAï ÇÃÉwÉbÉ_ÉtÉ@ÉCÉãÇ≈ÉtÉ@É~Éäå≈óLÇÃÉGÉâÅ[ÉRÅ[ÉhÇíËã`ǵǃǢNjÇ∑ÅBÇΩÇΔǶnjÅAUSB ÉGÉâÅ[ÉRÅ[ÉhÇÕÅAKernel.framework ì‡Çà IOKit/usb/USB.h DždžÇËÅAFireWire ÉGÉâÅ[ÉRÅ[ÉhÇÕÅAìØÇ∂ Kernel.framework. ì‡Çà IOKit/firewire/IOFireWireFamilyCommon.h DždžÇËÇ‹Ç∑ÅB [2002 îN 2 åé 6 ì˙] |